package cn.minimelon.api.service.module.impl;

import cn.minimelon.api.domain.data.ModelQueryVO;
import cn.minimelon.api.domain.module.vo.DataPropVO;
import cn.minimelon.api.domain.module.vo.ModelFullVO;
import cn.minimelon.api.mapper.module.DtbModelMapper;
import cn.minimelon.api.service.module.IDtbModelService;
import cn.minimelon.api.service.module.utils.ModelUtil;
import cn.minimelon.api.service.module.utils.PropUtils;
import org.apache.ibatis.solon.annotation.Db;
import org.noear.solon.annotation.Component;

import java.util.List;

@Component
public class DtbModelServiceImpl implements IDtbModelService {
    @Db
    private DtbModelMapper modelMapper;

    @Override
    public ModelFullVO selectDataModel(ModelQueryVO query) {
        ModelFullVO info = modelMapper.selectByCode(query);
        ModelUtil.buildJsonInfo(info);
        return info;
    }

    @Override
    public List<DataPropVO> selectPropList(ModelQueryVO query) {
        List<DataPropVO> propList = modelMapper.selectListByModelCode(query);
        for (DataPropVO prop : propList) {
            PropUtils.decodeJsonInfo(prop);
        }
        return propList;
    }
}
